package tt.com.depositmessage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import tt.com.common.model.TombDeposit;
import tt.com.common.util.CommonResult;
import tt.com.common.util.PageUtil;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface DepositService extends IService<TombDeposit> {
    /**
     * 展示寄存业务信息
     * @param i 0为展示味寄存信息，1为展示以寄存信息（默认为0，展示未寄存信息）
     * @param pageUtil
     * @return
     */
    public CommonResult showDepositMessage(int i, PageUtil pageUtil);

    /**
     * 修改信息/变更持证人信息
     * @param tombDeposit
     * @return
     */
    public CommonResult changeDepositMessage(TombDeposit tombDeposit);

    /**
     * 刷新
     * @return
     */
    public CommonResult RefreshDepositMessage(PageUtil pageUtil);

    /**
     * 查询信息
     * @param tombDeposit
     * @return
     */
    public CommonResult selDepositMessage(PageUtil pageUtil,TombDeposit tombDeposit);

    /**
     * 伪删除信息
     * @param tombDeposit
     * @return
     */
    public CommonResult delDepositMessage(TombDeposit tombDeposit);

    /**
     * 添加寄存信息
     * @param depositYear 寄存所需年份
     * @param tombDeposit
     * @return
     */
    public CommonResult insertDepositMessage(int depositYear ,TombDeposit tombDeposit);

    /**
     * 合葬
     * @param id 合葬逝者id
     * @param tombDeposit
     * @return
     */
    public CommonResult updateAddDeposit(String id,TombDeposit tombDeposit);

    /**
     * 返回所有空格位
     * @return
     */
    public CommonResult showTombLand();

    /**
     * 增加寄存时间，续费寄存服务，打印收款收据
     * @param depositYear 寄存所需年份
     * @param tombDeposit
     * @return
     */
    public CommonResult renewDeposit(HttpServletResponse response,int depositYear ,TombDeposit tombDeposit);

    /**
     * 迁出骨灰盒
     * @param address 迁出地址
     * @param TombDeposit tombDeposit
     * @return
     */
    public CommonResult moveBone(String address,TombDeposit tombDeposit);

    /**
     * 打印寄存卡
     * @param tombDeposit
     * @return
     */
    public CommonResult createDepositCard(HttpServletResponse response, TombDeposit tombDeposit);

    /**
     * 打印安放证
     * @param tombDeposit
     * @return
     */
    public CommonResult createPutCertificates(HttpServletResponse response, TombDeposit tombDeposit);

    /**
     * 打印骨灰迁出证明
     * @param tombDeposit
     * @return
     */
    public CommonResult createBonbMoveOut(HttpServletResponse response, TombDeposit tombDeposit);

    /**
     * 变更格位
     * @param tombDeposit
     * @return
     */
    public CommonResult changeTombLand(TombDeposit tombDeposit);
}
